package com.manyiaby.view.viewutils;

import android.content.Context;
import android.text.TextUtils;

/**
 * Created by ChenDong on 2017/07/14
 */
public class StringUtil {

    public static String tagNull = ",";

    /**
     * 按逗号将字符串分隔成数组
     *
     * @param str
     * @return
     */
    public static String[] getStringArray(String str) {
        return str.split(tagNull);//str.split("s");
    }

    /**
     * 按tag将字符串分隔成数组
     *
     * @param str
     * @return
     */
    public static String[] getStringArrayTag(String str, String tag) {
        return str.split(tag);//str.split("s");
    }

    /**
     * 将字符串按tagNull分隔成数组,并返回某个位置的字符串
     *
     * @param str
     * @return
     */
    public static String getStringArrayNull(String str, int position) {
        String[] arr = null;
        String result = null;
        arr = getStringArray(str);//str.split("s");
        if (arr != null && position < arr.length) {
            result = arr[position];
        }
        return result;//
    }

    /**
     * 将content中的str符号颜色换成传入的颜色
     *
     * @param str
     * @return
     */
    public static String getStringFont(String content, String str, int color) {
        String result = "";
        if (content.contains(str)) {
            result = content.replace(str, "<font color=\"" + color + "\">" + str + "</font>");
        } else {
            result = content;
        }
        return result;//
    }

    /**
     * 将str添加上颜色标签转换成html文本
     *
     * @param str
     * @return
     */
    public static String getStringHtmlFont(String str, int color) {
        String result = "";
        result = "<font color=\"" + color + "\">" + str + "</font>";
        return result;//
    }

    /**
     * 获取我的标签name/id
     * true name
     * false id
     *
     * @param str
     * @return
     */
    public static String getBiaoqianName(String str, boolean isName) {
        String result = null;
        String resultId = null;
        String resultName = null;
        String[] strArray;
        String[] strTemp;
        strArray = str.split(" ");
        for (int i = 0; strArray != null && i < strArray.length; i++) {
            strTemp = strArray[i].split(":");
            if (i == 0) {
                resultId = strTemp[0];
                resultName = strTemp[1];
            } else {
                resultId = resultId + "," + strTemp[0];
                resultName = resultName + " " + strTemp[1];
            }
        }
        if (isName) {
            result = resultName;
        } else {
            result = resultId;
        }

        return result;//
    }

    /**
     * 所在位置名字获取
     *
     * @param province
     * @param name     isAddProvince true name中无省市则添加省市
     *                 isAddProvince false name中有省市则去除省市
     * @return
     */
    public static String getSiteProvince(String province, String name, boolean isAddProvince) {
        String result = "";
        if (isAddProvince) {
            if (name.contains(province)) {
                result = name;
            } else {
                result = province + name;
            }
        } else {
            if (name.contains(province)) {
                result = name.replace(province, "");
            } else {
                result = name;
            }
        }
        return result;
    }


    /**
     * 获取缩略图路径失效改为获取原始地址（后台默认返回缩略图地址）
     *
     * @return
     */
    public static String getThumbOrigUrl(String imageUrl) {
//        String result = "";
//        if (!TextUtils.isEmpty(imageUrl) && !imageUrl.contains("_thum.")) {
//            int index = imageUrl.lastIndexOf(".");//返回最后一次出现的.在此字符串中的索引。
//            String temp = imageUrl.substring(index, imageUrl.length());//返回一个新的字符串
//            temp = temp.replace(".", "_thum.");
//            result = imageUrl.substring(0, index) + temp;
//        } else {
//            result = imageUrl;
//        }
        //LogUtil.i("aaaa", "=========result===========" + result);

//        StringBuffer sb=new StringBuffer();
//        sb.append(imageUrl);
////        sb.append("/default");//原图
////        sb.append("/100-100");//100*100
////        sb.append("/300-300");//300*300
//        sb.append("/500-500");//500*500
//        LogUtil.i("getThumbOrigUrl","-------getThumbOrigUrl="+sb.toString());
//        imageUrl=sb.toString();
        return imageUrl;
    }

    /**
     * 获取原图路径
     *
     * @return
     */
    public static String getOriginalUrl(String imageUrl) {
        if(UrlUtil.isUrl(imageUrl)&&imageUrl.contains("-")){
            String temp = imageUrl.substring(imageUrl.lastIndexOf("/")+1);
            imageUrl=imageUrl.replace(temp,"default");//将截取的样式替换为高斯模糊样式blur
        }
//        return imageUrl.replace("_thum.", ".");
        return imageUrl;
    }

    /**
     * 判断是否可以获取阿里云高斯模糊地址(阿里云后台Oss需要设置模糊样式blur)
     * @return
     */
    public static boolean isBlurOssUrl(String headUrl) {
        if(!UrlUtil.isUrl(headUrl)&&(headUrl.contains("default")||headUrl.contains("-"))){//代表该地址是具有样式的地址
            if(!TextUtils.isEmpty(headUrl)){
                return true;
            }else{
                return false;
            }
        }
        return false;
    }

    /**
     * 获取高斯模糊地址
     * @param headUrl 传入的headUrl必须为包含样式的url
     * @return
     */
    public static String getBlurOssUrl(String headUrl) {
        if(!TextUtils.isEmpty(headUrl)){//传入的headUrl必须为包含样式的url例如：
            String temp = headUrl.substring(headUrl.lastIndexOf("/")+1);//截取样式 default或者400-400等
            headUrl=headUrl.replace(temp,"blur");//将截取的样式替换为高斯模糊样式blur
        }
        LogUtil.i("getBlurOssUrl","----getBlurOssUrl"+headUrl);
        return headUrl;
    }

    /**
     *给Html文本添加字体大小属性（默认字间距为5px）
     * @param mContext
     * @param htmlTxt html网页文本代码
     * @param mSizeDp 字体大小 单位:dp
     * @return
     */
    public static String changeSizeHtml(Context mContext, String htmlTxt, float mSizeDp) {
        String result;
        result="<div style=\"font-size:"+SizeConvert.dip2px(mContext,mSizeDp)+"px;letter-spacing:5px; \">\n" +htmlTxt+"</div>";//font-size字体大小 letter-spacing 字间距
        return result;
    }

    /**
     * 获取tokenkey
     * @param tokenkey
     * @return
     */
    public static String getTokenkey(String tokenkey) {
        return "BasicAuth  "+tokenkey;
    }

    /**
     * 获取聊天id,规则：userId+userId
     * @param userId
     * @return
     */
    public static String getChatId(String userId) {
        StringBuffer sb=new StringBuffer();
        sb.append(userId);
        sb.append(userId);
        LogUtil.i("getChatId", "--------getChatId="+sb.toString());
        return sb.toString();
    }
}
